#include<stdio.h>
#define ok 20

int a[ok];
int b[ok];
int c[ok];
//定义3个全局数组

int main()
{
	int i = 0, j;
	int count = 0;
	int temp;
	
	scanf("%d", &a[0]);
    //对第一个数组输入第一个数字
	
	while (a[i] != -1)
	{
		i++;
		scanf("%d", &a[i]);
	}
	//对第一个持续输入数字，直到输入-1表示输入结束

	i = 0;
    //初始化i

	scanf("%d", &b[0]);
    //对第二个数组输入第一个数字
	
	while (b[i] != -1)
	{
		i++;
		scanf("%d", &b[i]);
	}
	//对第二个持续输入数字，直到输入-1表示输入结束

	for (i = 0; a[i] != -1; i++)
	{	
		for (j = 0; a[j] != -1; j++)
		{
			if(a[i] < 0)
			{
				break;
			}
			else if(a[i] == b[j] && b[j] >= 0)
			{
				c[count] = b[j];
				count++;
			}
		}
	}
    //对第一个数组和第二个数组取交集，并将交集储存到第三个数组中
	
	for (i = 0; i <= count - 1; i++)
	{
		for (j = i; j <= count - 1; j++)
		{
			if(c[i] >= c[j])
			{
				temp = c[i];
				c[i] = c[j];
				c[j] = temp;
			}
		}
	}
    //对第三个数组的所有元素按从小到大的顺序排序
	
	for (i = 0; i <= count - 1; i++)
	{
		printf("%d ",c[i]);
	}
	//依次输出第三个数组元素

	return 0;
}


